Separating Separation Logic – Modular Verification of Red-Black Trees

نویسندگان

چکیده

Interactive theorem provers typically use abstract algebraic data structures to focus on algorithmic correctness. Verification of programs in real programming languages also has deal with pointer structures, aliasing and, the case C, memory management. While progress been made by using Separation Logic, direct verification code still both aspects at once. In this paper, we show a refinement-based approach that separates two issues suitable modular structure. We exemplify correctness proof for red-black trees, demonstrating our can generate efficient C uses parent pointers and avoids recursion. The is split into large part almost identical high-level proofs separate small Logic verify primitive operations structures.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Relativistic red-black trees

Operating system performance and scalability on sharedmemory many-core systems depends critically on efficient access to shared data structures. Scalability has proven difficult to achieve for many data structures. In this paper we present a novel and highly scalable concurrent red-black tree. Red-black trees are widely used in operating systems, but typically exhibit poor scalability. Our red-...

متن کامل

Constructing Red-Black Trees

This paper explores the structure of red-black trees by solving an apparently simple problem: given an ascending sequence of elements, construct, in linear time, a red-black tree that contains the elements in symmetric order. Several extreme red-black tree shapes are characterized: trees of minimum and maximum height, trees with a minimal and with a maximal proportion of red nodes. These charac...

متن کامل

Specification of Red-Black Trees

Complex data structures still pose a major challenge in specification and verification of objectoriented programs. Leino and Moskal have proposed a suite of benchmarks for verification tools, nicknamed “VACID-0” [1]. In contrast to similar papers, the tasks of VACID-0 do not only include verification in terms of an observable behavior but also of internal workings of algorithms and data structu...

متن کامل

Left-leaning Red-Black Trees

The red-black tree model for implementing balanced search trees, introduced by Guibas and Sedgewick thirty years ago, is now found throughout our computational infrastructure. Red-black trees are described in standard textbooks and are the underlying data structure for symbol-table implementations within C++, Java, Python, BSD Unix, and many other modern systems. However, many of these implemen...

متن کامل

Relaxed Balanced Red-Black Trees

Relaxed balancing means that, in a dictionary stored as a balanced tree, the necessary rebalancing after updates may be delayed. This is in contrast to strict balancing meaning that rebalancing is performed immediately after the update. Relaxed balancing is important for efficiency in highly dynamic applications where updates can occur in bursts. The rebalancing tasks can be performed gradually...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Lecture Notes in Computer Science

سال: 2023

ISSN: ['1611-3349', '0302-9743']

DOI: https://doi.org/10.1007/978-3-031-25803-9_8